// 这是一个fileno函数的应用实例
// 调用对应的操作函数创建一个文件
// 输出该流对应的描述符
// 文件名由argv[1]参数传递

#include <stdio.h>
#include <fcntl.h>
#include <string.h>

int main(int argc, char *argv[]){
	
	int ch;
	int len;
	int i = 0;	// i是用来记录写入数据的长度
	FILE *fp;

	char writebuf[]="Hello! I have read the file!";

	if(argc != 2){
		printf("Please input the current para!\n");
		return -1;
	}

	// 打开要读取的文件
	fp = fopen(*(argv+1), "ab+");

	if(fp == NULL){
		printf("打开文件失败!\n");
		return -2;
	}

	printf("文件%s中的内容为：\n", *(argv+1));

	// 将文件中的数据在屏幕中显示
	while((ch=getc(fp)) != EOF){
		putchar(ch);
	}

	// 将writebuf中的数据写入到文件中
	len = strlen(writebuf);
	while(len > 0 ){
		//if(writebuf[i] != EOF){
			putc(writebuf[i],fp);
			putchar(writebuf[i]);
			len--;
			i++;
		//}
	}
	putchar('\n');
	fclose(fp);
	return 0;
}
